.page-gradient {
	background: #d29ff4;
	background: url();
	background: -moz-linear-gradient(top, #d29ff4 0%, #8817ea 20%, #9421ed 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d29ff4), color-stop(20%,#8817ea), color-stop(100%,#9421ed));
	background: -webkit-linear-gradient(top, #d29ff4 0%,#8817ea 20%,#9421ed 100%);
	background: -o-linear-gradient(top, #d29ff4 0%,#8817ea 20%,#9421ed 100%);
	background: -ms-linear-gradient(top, #d29ff4 0%,#8817ea 20%,#9421ed 100%);
	background: linear-gradient(to bottom, #d29ff4 0%,#8817ea 20%,#9421ed 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d29ff4', endColorstr='#9421ed',GradientType=0 );
}

.clearfix {
	zoom: 1;
	&:after{
		content: "\0020";
		display: block;
		height: 0;
		overflow: hidden;
	}
	&:after{
		clear: both;
	}
}

.padding-mixin(@top, @right, @bottom, @left)
{
	padding-top: @top;
	padding-right: @right;
	padding-bottom: @bottom;
	padding-left: @left;
}

.margin-mixin(@top, @right, @bottom, @left)
{
	margin-top: @top;
	margin-right: @right;
	margin-bottom: @bottom;
	margin-left: @left;
}

.border-color(@top, @right, @bottom, @left)
{
	border-top-color: @top;
	border-right-color: @right;
	border-bottom-color: @bottom;
	border-left-color: @left;
}

body header div#header-container, body header nav, body header nav ul, body header nav ul li ul.sub-nav-list, body section, body aside{
	.clearfix;
}

body, header, section, footer, article, h1, h2, h3, h4, h5, h6, input, button, label, p, fieldset, nav, ul, li, a, span, strong, em {
	margin: 0;
	padding: 0;
	border: 0;
}

div, h1, h3, h4, h5, h6, header, footer, body, section, nav, article, aside {
	display: block;
	color: white;
}

button {
	color: white;
	background-color: #B35EF3;
}

input {
	color: white;
	background-color: #B35EF3;
}

a {
	color: #C788F6;
}

body {
	font: normal 14px Arial;
	color: white;
	.page-gradient;

	header {
		.padding-mixin(25px, 15px, 5px, 15px);
		div#header-container div#logo-container {
				float: left;
				position: relative;
		}
		div#header-container div#reg-form-container {
			float: right;
			position: relative;
			right: 5%;
			top: 50%;
			div {
				text-align: right;
				label {
					width: 50px;
					margin: 5px;
				}
				input {
					width: 130px;
					border: 1px solid #603382;
					border-radius: 10px;
					padding: 2px 5px;
					margin: 5px;
				}
			}
			button {
				margin-left: auto;
				margin-right: auto;
				font-weight: bold;
				border: 1px solid #603382;
				border-radius: 10px;
				padding: 5px 8px;
				.border-color(#BFAECE, #492961, #492961, #BFAECE);
				&:hover {
					background-color: #8949b9;
					.border-color(#492961, #BFAECE, #BFAECE, #492961)
				}
			}
		}

		nav {
			display: inline-block;
			width: 75%;
			margin: 20px 20px 20px 20px;
			padding: 12px;
			border: 1px solid #000;
			border-radius: 15px;
			ul.nav-list {
				list-style-type: none;
			}
			ul li {
				float: left;
				margin: 0;
				a {
					text-decoration: none;
					padding: 0 10px 0 10px;
					color: white;
					font: normal 1.4em Arial;
					&.selected {
						font-weight: bold;
					}
				}
				&:hover > a {
					text-decoration: underline;
					color: #a8a8a8;
				}
				&:hover > a + ul {
						display: block;
				}
				ul.sub-nav-list {
					position: absolute;
					display: none;
					background-color: rgba(179, 94, 243, 0.9);
					border-radius: 5px;
				}
				ul li {
					float: none;
					margin: 0 15px;
					padding: 10px 0;
					border-bottom: 1px solid black;
					&:last-of-type {
						border-bottom: none;
					}
					& > a {
						font-size: 1.2em;
						color: #fff;
					}
				}
			}
		}
	}
	section {
		width: 75%;
		float: left;
		color: black;
		article {
			margin: 20px;
			padding: 20px;
			border: 1px solid black;
			border-radius: 15px;
			header {
				background: none;
				padding: 5px;
				h1 {
					font-size: 1.4em;
					padding: 0;
				}
			}
			footer {
				padding: 5px;
				p {
					font-size: 16px;
					text-align: right;
					font-weight: normal;
					time {
						font-family: Consolas, 'Lucida Console', 'DejaVu Sans Mono', monospace;
					}
					a {
						text-decoration: none;
						&:hover {
							text-decoration: underline;
						}
					}
				}
			}
		}
	}
	aside {
		float: left;
		width: 20%;
		margin: 20px;
		& > ul {
			list-style-type: none;
			 & > li {
				margin: 15px 0;
				padding: 15px;
				border: 1px solid black;
				border-radius: 5px;
				h2 {
					font-size: 1.1em;
					font-weight: bold;
				}
				p {
					.margin-mixin(10px, 5px, 10px, 5px);
					font-size: 14px;
					a {
						color: #aaaaaa;
						text-decoration: none;
					}
					strong {
						color: #cccccc;
						font-weight: bold;
						font-style: normal;
					}
					em {
						color: #cccccc;
						font-weight: normal;
						font-style: italic;
					}
				}
				ul {
					list-style-type: none;
					.margin-mixin(10px, 0px, 10px, 0px);
					li {
						.margin-mixin(5px, 0px, 0px, 10px);
						background: url(images/li-dot.png) no-repeat;
						background-position: 0 50%;
						padding-left: 25px;
					}
				}
			}
		}
	}
	footer {
		clear: both;
		.padding-mixin(15px, 0px, 25px, 0px);
		text-align: center;
		p {
			font-size: 1.2em;
			font-weight: bold;
		}
	}
}